VLAN(Virtual Local Area Network)는 하나의 물리 스위치에서 여러 개의 네트워크를 나누어 사용할 수 있는 기술입니다.
한 대의 스위치를 여러 개의 VLAN으로 분할할 수 있고 별도의 스위치처럼 동작합니다.
VLAN은 물리적 배치와 상관없이 LAN을 논리적으로 분할, 구성하는 기술입니다.
최근엔 전화기, 복합기, 스마트폰과 같이 PC 외에도 다수의 단말이 네트워크에 연결되기 때문에 네트워크 분할이 더 중요합니다.
과도한 브로트캐스트로 인한 단말들의 성능 저하, 보안 향상을 위한 차단 용도, 서비스 성격에 따른 정책 적용과 같은 이유도 있습니다.
VLAN을 사용하면 물리적 구성과 상관없이 네트워크를 분리할 수 있고, 물리적으로 다른 층에 있는 단말이 하나의 VLAN을 사용해 동일한 네트워크로 묶을 수 있습니다.
같은 층에서 부서별로 네트워크를 분리하거나 일반 PC, IP 전화기, 무선 단말과 같이 서비스나 단말의 성격에 따라 네트워크를 분리할 수 있습니다. 그리고 이렇게 분리된 단말 간에는 3계층 장비를 통해 통신해야 합니다.
VLAN을 나누면 하나의 장비를 서로 다른 네트워크를 갖도록 논리적으로 분할한 것이므로 유니캐스트 뿐만 아니라 브로드캐스트도 VLAN 간에 통신할 수 없습니다. VLAN 간의 통신이 필요하다면 서로 다른 네트워크 간의 통신이므로 앞서 배운 것처럼 3계층 장비가 필요합니다.
VLAN의 할당 방식에는 포트 기반의 VLAN과 MAC 주소 기반의 VLAN이 있습니다.
VLAN 개념이 처음 도입되었을 때는 스위치가 고가였고, 여러 허브를 묶는 역할을 스위치가 담당했으므로 스위치를 분할해 여러 네트워크에 사용하는 것이 VLAN 기능을 적용하는 목적이었습니다.
이렇게 스위치를 논리적으로 분할해 사용하는 것이 목적인 VLAN을 포트 기반 VLAN(Port Based VLAN)이라고 부르고 일반적으로 언급하는 대부분의 VLAN은 포트 기반 VLAN에 속하게 됩니다.
어떤 단말이 접속하든지 스위치의 특정 포트에 VLAN을 할당하면 할당된 VLAN에 속하게 됩니다.
포트 1: VLAN 10, 포트 2: VLAN 20 으로 할당되었을 때, 한 PC가 포트 1에 연결하면 VLAN 10에 속하고, 포트 2에 연결하면 VLAN 20에 속합니다.
사용자들의 자리 이동이 많아지면서 MAC 기반 VLAN(Mac Based VLAN)이 개발되었습니다.
스위치의 고정 포트에 VLAN을 할당하는 것이 아니라 스위치에 연결되는 단말의 MAC 주소를 기반으로 VLAN을 할당하는 기술입니다.
단말이 연결되면 단말의 MAC 주소를 인식한 스위치가 해당 포트를 지정된 VLAN으로 변경합니다.
단말에 따라 VLAN 정보가 바뀔 수 있어 다이나믹 VLAN(Dynamic VLAN)이라고도 부릅니다.
MAC 주소가 AA인 경우, VLAN 10을 할당합니다. 그렇다면 어떤 포트에 연결하든지 VLAN 10에 속하게 됩니다.
앞으로 나올 VLAN 관련 내용은 포트 기반 VLAN입니다.
스위치 포트에 VLAN을 설정하여 네트워크를 분리하면 물리적으로 스위치를 분리할 때보다 효율적으로 장비를 사용할 수 있습니다.
여러 개의 VLAN이 존재하는 상황에서 스위치를 서로 연결해야 하는 경우에는 각 VLAN끼리 통신하려면 VLAN 개수만큼 포트를 연결해야 합니다.
만약 스위치에 3개의 VLAN이 존재한다면 VLAN 간의 통신의 위해 3개의 포트가 필요합니다.
VLAN을 더 많이 사용하는 중.대형 네트워크에서 이렇게 VLAN 별로 포트를 연결하면 장비 간의 연결만으로도 많은 포트가 낭비됩니다.
태그 기능은 하나의 포트에 여러 개의 VLAN을 함께 전송할 수 있게 해줍니다.
이 포트를 태그 포트(Tagged Port) 또는 트렁크 포트(Truck Port)라고 합니다.
여러 개의 VLAN을 동시에 전송해야 하는 태그 포트는 통신할 때 이더넷 프레임 중간에 VLAN ID 필드를 끼워 넣어 이 정보를 이용합니다.
태그 포트로 패킷을 보낼 때는 VLAN ID를 붙이고 수신 측에서는 이 VLAN ID를 제거하면서 VLAN ID의 VLAN으로 패킷을 보낼 수 있게 됩니다.
스위치 간 VLAN 정보를 보낼 수 있는 포트의 일반적인 용어는 ‘태크 포트’ 입니다. 트렁크 포트는 시스코에서 사용하는 명칭으로, 트렁크라는 용어를 다른 네트워크 장비 제조사에서 다른 의미로 사용하므로 문맥으로 이것을 잘 파악해야 합니다. 타 제조사에서는 트렁크 포트를 여러 개의 포트를 묶어 사용하기 위한 링크 애그리게이션의 의미로 사용합니다.
태그 포트를 사용하면 VLAN 마다 통신을 위해 필요했던 포트를 하나로 묶어 사용할 수 있으므로 포트 낭비 없이 네트워크를 더 유연하게 디자인할 수 있습니다.
다른 VLAN끼리 통신하지 못하도록 MAC 테이블에 VLAN을 지정하는 필드가 추가되었습니다.
즉, 하나의 스위치에서 VLAN을 이용해 네트워크를 분리하면 VLAN 별로 MAC 주소 테이블이 존재하는 것처럼 동작합니다.
일반적인 포트를 언태그 포트(Untagged Port) 또는 액세스 포트(Access Port)라고 하고 여러 VLAN이 한꺼번에 통신하도록 해주는 포트를 태그 포트 또는 트렁크 포트라 합니다.
일반적으로 태그 포트는 여러 네트워크가 동시에 설정된 스위치 간의 연결에서 사용되며 하나의 네트워크에 속한 서버의 경우에는 언태그로 설정합니다.
이 경우, 서버와 연결된 스위치의 포트더라도 언태그 포트가 아닌 태그로 설정합니다.
가상화 서버 쪽 인터페이스에도 태그된 상태로 설정해야 합니다.
가상화 서버 내부에 가상 스위치가 존재하므로 스위치 간 연결로 보면 더 쉽습니다.
유니캐스트, 브로드캐스트, 멀티캐스트 모두 VLAN을 넘어가지 못합니다.
VLAN이 다른 것은 다른 네트워크, 다른 IP 주소이기 때문에 L3 장비의 도움이 필요합니다.
[IT 엔지니어를 위한 네트워크 입문] 도서를 참조해 공부한 내용입니다.
감사합니다.
Photographs by Chaelin, Unsplash.